#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int c = 0;//全局变量的生命周期与整个程序的生命周期一致
//int main()
//{
//	int b = 0;//局部变量里
//	int a = 0;//变量a创建，生命周期开始
//	printf("%d\n", a);
//}//变量a销毁，生命周期结束
//
//
//
//b()
//{
//	int a = 3;//是在不同领域多次初始化没事
//	a = 4;
//	//int a = 4; 这里的初始化就同领域了
//}
//int main()
//{
//	int a = 0;
//	a = 2;
//	b();
//	printf("%d\n", a);//在不同领域，b函数里的对a的动作(初始化、赋值)与此主函数里的a的动作是分开的，两变量是分开独立的
//	return 0;
//}
//
//
//
//void text()
//{
//	int a = 1;
//	a++;
//	printf("%d ", a);
//}//出来a变量就销毁，所以在同一作用域循环初始化没问题
//
//int main()
//{
//	int i = 0;
//	for (i = 0;i < 5;i++)
//	{
//		text();
//	}
//	return 0;
//}
//
//
//int a = 0;//全局变量的话首先在不同领域不会多次初始化其次局部优先
//void text()
//{
//	int a = 1;
//	a++;
//	printf("%d ", a);
//}
//
//int main()
//{
//	int i = 0;
//	for (i = 0;i < 5;i++)
//	{
//		text();
//	}
//	return 0;
//}
//
//
//
//int a = 1;
//void text()
//{
//	a++;
//	printf("%d ", a);//这样就2 3 4 5 6了
//}
//
//int main()
//{
//	int i = 0;
//	for (i = 0;i < 5;i++)
//	{
//		text();
//	}
//	return 0;
//}
//
//int a = 3;
//void text()
//{
//	printf("%d", a);//打印全局变量a里的3
//	a = 0;//0赋给全局变量了
//	printf("%d", a);//                静态变量在编译代码时就被分配地址创建好了变量，程序结束生命才终结(生命周期与全局变量一样)
//	static int a = 1;//静态变量能影响的范围也只是它的作用域(91~94行)，其它范围(循环上去之后)影响不到了  静态变量只定义一次只初始化一次，此条语句只读一次
//	a++;            
//	printf("%d", a);//静态变量还是局部变量，只是生命周期变长了，这里打印静态变量里的值还是因为局部优先
//}//                                 原本局部变量放栈区的变成静态变量后放静态区导致
//int main()
//{
//	int i = 0;
//	for (i = 0;i < 5;i++)
//	{
//		text();
//	}
//	printf("%d",a );//打印全局变量里的0
//	return 0;
//}
//
//
//
////int att[3][5]数组的内容照着从左到右从上到下的顺序传到int att[6]数组中去，也是从左到右从上到下地接
//void print1(int art[1][3], int p, int q)
//{//       1行放不下也会再创行强放下去的
//	int i = 0;
//	for (i = 0;i < p;i++)
//	{
//		int j = 0;
//		for (j = 0;j < q;j++)
//			printf("%d ", art[i][j]);//对接的这个数组的这些位置的内容动，本质是一维数组，当要访问的位置看似不在时，它会续接下来的顺序往下找
//		printf("\n");
//	}
//}
//int main()
//{
//	int att[3][5] = { 1,2,3,4,5,2,3,4,5,6,3,4,5,6,7 };
//	print1(att, 3, 5);
//	return 0;
//}//  att      art     打印结果
////1 2 3 4 5  1 2 3   1 2 3 4 5
////2 3 4 5 6  4 5 2   4 5 2 3 4
////3 4 5 6 7  3 4 5   3 4 5 6 3
// //          6 3 4
// //          5 6 7

//

int main()
{//字符可看需转成其dec值
	int b = 0;
	b = '/';//字符转成它的dec进b变量
	printf("b=%d\n", b);
	char c = 0;                           
	int e = 0;
	e = '/' + '+';//字符计算时都会转成它的dec进行计算
	printf("e=%d\n", e);
	char f = 0;
	f = '/' + '+';
	printf("f=%c\n", f);
	c = 2;//2是数字，不是字符，不会有转化能力(字符转dec数字的能力)
	printf("c=%c\n", c);//数字2放不进字符变量中
	char  d = 2;
	d = 2 + '2';//'2'转化成50，50+2=52.dec为52的字符是'4'
	printf("d=%c\n", d);//打印时有''的字符它的''不会打印出来：'4'打不成'4'出来，打出的是4
	char g = 0;
	g = 4 + '0';//数字4转成字符'4'
	printf("g=%c\n", g);
	g = 0 + '2';//50+0=50,dec值没变
	printf("g=%c\n", g);
	g = 10 + '0';//48+10=58，dec为58的字符是':'，不是10了
	printf("g=%c\n", g);
	int h = 0;
	h = '2' - '0';//字符'2'转成数字2
	printf("h=%d\n", h);
	return 0;
}